import config from './config/config'

import markdown from './components/other/markdown/index.vue'

const components = {
  markdown
}

const artery = {
  ...components
}
// 安装
const install = function (Vue, opts = {}) {
  // debugger
  if (install.installed) {
    return
  }
  // 注册组件
  Object.keys(artery).forEach(key => {
    const pattern = /([A-Z])|^(\$)/gm
    let _key = key
    // 大写转-小写
    _key = _key.replace(pattern, function (a, b, c, d, e) {
      // ==$ 表示是因为组件是关键词，所以多加了标识符$
      return a == '$' ? '' : '-' + a.toLowerCase()
    })
    Vue.component(config.prefix + '-' + _key, artery[key])
    /*
     * 注册成atyButton的形式, 否则按需引入 import解构不支持横线方式
     * 输出日志
     */
    Artery.consoleLog(config.showLog, '【' + config.prefix + '-' + _key + '】组件注册成功，可以开始使用！')
  })
}

// auto install
if (typeof window !== 'undefined' && window.Vue) {
  install(window.Vue)
}

const markdownAPI = {
  version: process.env.VERSION, // eslint-disable-line no-undef
  install,
  ...components
}

export default markdownAPI
